package com.hand.demo.domain.entity;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.choerodon.mybatis.annotation.ModifyAudit;
import io.choerodon.mybatis.annotation.VersionAudit;
import io.choerodon.mybatis.domain.AuditDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 标准化教育经历表(HhrTaEducation)实体类
 *
 * @author
 * @since 2025-06-16 12:16:53
 */

@ApiModel("标准化教育经历表")
@VersionAudit
@ModifyAudit
@JsonInclude(value = JsonInclude.Include.NON_NULL)
@Table(name = "hhr_ta_education")
public class HhrTaEducation extends AuditDomain {
    private static final long serialVersionUID = 360800779073226630L;

    public static final String FIELD_ID = "id";
    public static final String FIELD_EDU_COLLEGE = "eduCollege";
    public static final String FIELD_EDU_COLLEGE_DEPT = "eduCollegeDept";
    public static final String FIELD_EDU_COLLEGE_RANK = "eduCollegeRank";
    public static final String FIELD_EDU_COLLEGE_RANK_QS = "eduCollegeRankQs";
    public static final String FIELD_EDU_COLLEGE_TYPE = "eduCollegeType";
    public static final String FIELD_EDU_CONTENT = "eduContent";
    public static final String FIELD_EDU_DEGREE = "eduDegree";
    public static final String FIELD_EDU_DEGREE_NORM = "eduDegreeNorm";
    public static final String FIELD_EDU_GPA = "eduGpa";
    public static final String FIELD_EDU_MAJOR = "eduMajor";
    public static final String FIELD_EDU_RECRUIT = "eduRecruit";
    public static final String FIELD_END_DATE = "endDate";
    public static final String FIELD_RESUME_ID = "resumeId";
    public static final String FIELD_START_DATE = "startDate";
    public static final String FIELD_TENANT_ID = "tenantId";

    @ApiModelProperty("自增主键")
    @Id
    @GeneratedValue
    private Long id;

    @ApiModelProperty(value = "学校名称(原始)")
    private String eduCollege;

    @ApiModelProperty(value = "院系名称")
    private String eduCollegeDept;

    @ApiModelProperty(value = "国内学校排名(1-1000)")
    private Integer eduCollegeRank;

    @ApiModelProperty(value = "国际QS排名(1-2000)")
    private Integer eduCollegeRankQs;

    @ApiModelProperty(value = "学校类型(985/211/海外院校)")
    private String eduCollegeType;

    @ApiModelProperty(value = "教育描述(获奖/项目经历等)")
    private Object eduContent;

    @ApiModelProperty(value = "原始学历文本")
    private String eduDegree;

    @ApiModelProperty(value = "规范化学历(本科/硕士研究生/博士研究生/MBA)")
    private String eduDegreeNorm;

    @ApiModelProperty(value = "原始GPA成绩文本")
    private String eduGpa;

    @ApiModelProperty(value = "专业名称(原始)")
    private String eduMajor;

    @ApiModelProperty(value = "是否统招(统招/非统招)")
    private String eduRecruit;

    @ApiModelProperty(value = "结束日期(原始文本格式)")
    private String endDate;

    @ApiModelProperty(value = "关联简历ID", required = true)
    @NotNull
    private Long resumeId;

    @ApiModelProperty(value = "开始日期(原始文本格式)")
    private String startDate;

    @ApiModelProperty(value = "租户ID", required = true)
    @NotNull
    private Long tenantId;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getEduCollege() {
        return eduCollege;
    }

    public void setEduCollege(String eduCollege) {
        this.eduCollege = eduCollege;
    }

    public String getEduCollegeDept() {
        return eduCollegeDept;
    }

    public void setEduCollegeDept(String eduCollegeDept) {
        this.eduCollegeDept = eduCollegeDept;
    }

    public Integer getEduCollegeRank() {
        return eduCollegeRank;
    }

    public void setEduCollegeRank(Integer eduCollegeRank) {
        this.eduCollegeRank = eduCollegeRank;
    }

    public Integer getEduCollegeRankQs() {
        return eduCollegeRankQs;
    }

    public void setEduCollegeRankQs(Integer eduCollegeRankQs) {
        this.eduCollegeRankQs = eduCollegeRankQs;
    }

    public String getEduCollegeType() {
        return eduCollegeType;
    }

    public void setEduCollegeType(String eduCollegeType) {
        this.eduCollegeType = eduCollegeType;
    }

    public Object getEduContent() {
        return eduContent;
    }

    public void setEduContent(Object eduContent) {
        this.eduContent = eduContent;
    }

    public String getEduDegree() {
        return eduDegree;
    }

    public void setEduDegree(String eduDegree) {
        this.eduDegree = eduDegree;
    }

    public String getEduDegreeNorm() {
        return eduDegreeNorm;
    }

    public void setEduDegreeNorm(String eduDegreeNorm) {
        this.eduDegreeNorm = eduDegreeNorm;
    }

    public String getEduGpa() {
        return eduGpa;
    }

    public void setEduGpa(String eduGpa) {
        this.eduGpa = eduGpa;
    }

    public String getEduMajor() {
        return eduMajor;
    }

    public void setEduMajor(String eduMajor) {
        this.eduMajor = eduMajor;
    }

    public String getEduRecruit() {
        return eduRecruit;
    }

    public void setEduRecruit(String eduRecruit) {
        this.eduRecruit = eduRecruit;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public Long getResumeId() {
        return resumeId;
    }

    public void setResumeId(Long resumeId) {
        this.resumeId = resumeId;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

}

